Route 53 のフェイルオーバーで「指定された名前のレコードは既に存在します」が発生したときの対処方法
困っていた内容
Route 53 のフェイルオーバーで、セカンダリレコードを追加すると「指定された名前のレコードは既に存在します。」というエラーが表示されます。 フェイルオーバーのレコードセット(プライマリとセカンダリ)は同じレコード名で登録する必要がある認識ですが、何か間違っているのでしょうか。対処方法を教えてください。
エラーが発生しました 指定された名前のレコードは既に存在します。 (InvalidChangeBatch 400: Tried to create resource record set [name='hato.example.com.', type='A', set-identifier='hato-failover', health check='4370bf91-3db5-4ebc-a0a1-394d570558f2'] but it already exists)
どう対応すればいいの?
レコードIDをご確認ください。
フェイルオーバーレコードは、プライマリとセカンダリのレコードが次の組合せに一致する必要があります。
- レコード名が同じ
- レコードタイプが同じ
- レコードIDが異なる
設定例
そのため、同じレコード名で、ルーティングポリシーをフェイルオーバーに設定し、かつフェイルオーバーレコードタイプで、プライマリとセカンダリをそれぞれ指定していても、レコードIDが同じ場合はファイルオーバーとして設定できません。 フェイルオーバーのレコードを設定する際は、レコードIDが重複しない値になるように設定してください。
なお、ドキュメントによってレコードIDは「セットID」や「記録ID」と表記されている場合があります。
参考資料
レコード ID
ルーティングポリシーが Simple (シンプル) 以外のレコードを作成する場合は、名前とタイプが同じである場合に各レコードを一意に識別するための値を入力します。たとえば、日付/時刻スタンプまたはシーケンシャルカウンターを割り当てることができます。